home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <winb.h>
- #include <te.h>
- #include <fntb.h>
- #include <gui.h>
- #include "art.h"
- #include "imagewin.h"
- #include "desktop.h"
- #include "imgwin.h"
- #include "guisub.h"
- #include "alert.h"
-
- int idCreateImageDlg = -1 ;
- int idCreateImageOkDBtn = -1 ;
- int idCreateImageCancelDBtn = -1 ;
- int idCreateImageXSizeNBox = -1 ;
- int idCreateImageYSizeNBox = -1 ;
- int idCreateImageSetSizeDBtn[5] = -1 ;
- int idCreateImagePixelTIcon[2] = -1 ;
-
- static int create_exec;
- static int nPixelType = 0;
-
- /*--------------------------------------------------------*/
- /* 部品からの呼び出し関数 */
- /*--------------------------------------------------------*/
-
- int dsk_fileDBTNcreate(int kobj)
- // idCreateImageOkDBtn:MJ_DBUTTONL40の呼び出し関数
- // idCreateImageCancelDBtn:MJ_DBUTTONL40の呼び出し関数
- {
- if (kobj == idCreateImageOkDBtn)
- create_exec = 1;
- else
- create_exec = 0;
- MMI_SetHaltFlag(TRUE);
- return NOERR ;
- }
-
- int dsk_fileNUMBOXcreateFunc(kobj, messId, argc, pev, trigger)
- // idCreateImageXSizeNBox:MJ_NUMBOXL40の呼び出し関数
- // idCreateImageYSizeNBox:MJ_NUMBOXL40の呼び出し関数
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- return NOERR ;
- }
-
- int CreateImageSetSizeDBtnProc(int kobj)
- // idCreateImageSetSizeDBtn[0..4]:MJ_DBUTTONL40の呼び出し関数
- {
- static POINT defsize[5] =
- {{320,240},{512,480},{640,480},{1024,768},{1280,1024}};
- int i;
- for (i=0; i<INTNUM(idCreateImageSetSizeDBtn); i++)
- if (idCreateImageSetSizeDBtn[i] == kobj)
- goto FOUND;
- return NOERR;
- FOUND:
- if (i < 5)
- {
- RM_setNumBoxValue(idCreateImageXSizeNBox, defsize[i].x, TRUE);
- RM_setNumBoxValue(idCreateImageYSizeNBox, defsize[i].y, TRUE);
- }
- return NOERR ;
- }
-
- int CreateImagePixelTIconProc(int kobj)
- // idCreateImagePixelTIcon[1]:MJ_TICONL40の呼び出し関数
- // idCreateImagePixelTIcon[0]:MJ_TICONL40の呼び出し関数
- {
- RM_pushRadioButton(kobj, idCreateImageDlg, idCreateImagePixelTIcon,
- INTNUM(idCreateImagePixelTIcon), &nPixelType);
- return NOERR ;
- }
-
- /*--------------------------------------------------------*/
- /* 画像の新規作成 */
- /*--------------------------------------------------------*/
-
- int desktop_createNewPicture(void)
- {
- if (scrPixelSize == 16)
- nPixelType = 1;
- else
- nPixelType = 0;
- RM_initRadioButton(idCreateImagePixelTIcon,INTNUM(idCreateImagePixelTIcon),
- &nPixelType);
- EXECDIALOG(idCreateImageDlg);
- if (create_exec)
- {
- int wid,ht;
- // 作成する画像のサイズを得る
- wid = _max(1,RM_getNumBoxValue(idCreateImageXSizeNBox));
- ht = _max(1,RM_getNumBoxValue(idCreateImageYSizeNBox));
- // 画像ウィンドウを作成
- IMWIN *win;
- win = imagewin_new((nPixelType==0 ? 24:16), wid, ht);
- if (win != NULL)
- {
- imagewin_link(win);
- imagewin_show(win);
- }
- else
- {
- dispAlertMessage("新規画像作成",
- "新しいウィンドウを生成するために必要なメモリが"
- "不足しています。不要ウィンドウをクローズして"
- "みてください");
- }
- }
- return NOERR ;
- }
-